package org.edu.modules.oa.service.impl;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.edu.modules.oa.entity.VeOaCarInfoEntity;
import org.edu.modules.oa.entity.VeOaCarJiayouEntity;
import org.edu.modules.oa.entity.VeOaCarSetEntity;
import org.edu.modules.oa.mapper.IVeOaCarJiayouMapper;
import org.edu.modules.oa.mapper.IVeOaCarSetMapper;
import org.edu.modules.oa.service.IVeOaCarJiayouService;
import org.edu.modules.oa.service.IVeOaCarSetService;
import org.edu.modules.oa.vo.*;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

@Service
public class VeOaCarSetServiceImpI extends ServiceImpl<IVeOaCarSetMapper, VeOaCarSetEntity> implements IVeOaCarSetService {

    @Resource
    private IVeOaCarSetMapper iVeOaCarSetMapper;



    @Override
    public HashMap<String, Object> showTable(VeOaCarSetVo veOaCarSetVo , Integer startPage, Integer pageSize) {

         List<VeOaCarSetVo> voList=iVeOaCarSetMapper.showTable(veOaCarSetVo,(startPage-1)*pageSize,pageSize);

             Integer count =iVeOaCarSetMapper.tableCount(veOaCarSetVo);

        // 把查出来的东西存到map里面去
        HashMap<String , Object> map = new HashMap<>();
        map.put("list",voList);
        map.put("count",count);

        // 查询表格总行数
        return map;
    }

    @Override
    public Integer deleteRecord(Integer id) {

        int result = iVeOaCarSetMapper.deleteById(id);
        return result;
    }

    @Override
    public List<VeOaCarSetVo> xporte() {

        List<VeOaCarSetVo> voList=iVeOaCarSetMapper.showAll();
        return  voList;

    }

    @Override
    public Integer addSet(VeOaCarSetEntity veOaCarSetEntity) {
        Integer reust= iVeOaCarSetMapper.insert(veOaCarSetEntity);
        return reust;
    }

    @Override
    public VeOaCarSetVo showFuelManager(Integer id) {
        VeOaCarSetVo showVo=  iVeOaCarSetMapper.viewSet(id);


        return showVo ;
    }

    @Override
    public Integer amendSet(VeOaCarSetEntity veOaCarSetEntity) {
        QueryWrapper<VeOaCarSetEntity> tableWrapper = new QueryWrapper<>();
        tableWrapper.eq("id",veOaCarSetEntity.getId());
        Integer reust=  iVeOaCarSetMapper.update(veOaCarSetEntity,tableWrapper);
        return reust;
    }

    @Override
    public HashMap<String, Object> advancedQuery(String advancedQuery) throws Exception {

        List<VeOaCarSetVo> voList=iVeOaCarSetMapper.advancedQuery(advancedQuery);

        Integer count =iVeOaCarSetMapper.advancedQueryCount(advancedQuery);

        // 把查出来的东西存到map里面去
        HashMap<String , Object> map = new HashMap<>();
        map.put("list",voList);
        map.put("count",count);

        // 查询表格总行数
        return map;
    }

    @Override
    public VeOaCarSetEntity repetition(VeOaCarSetVo veOaCarSetVo) {
        // 查找该车辆有没有 没有就提醒用户
        QueryWrapper<VeOaCarSetEntity> tableWrapper = new QueryWrapper<>();
        tableWrapper.eq("value",veOaCarSetVo.getValue());
        return   iVeOaCarSetMapper.selectOne(tableWrapper);
    }

}
